OpenJDK's Java.utils.Collection.sort() Is Broken: The Good, the Bad and the Worst Case

نویسندگان

  • Stijn de Gouw
  • Jurriaan Rot
  • Frank S. de Boer
  • Richard Bubel
  • Reiner Hähnle
چکیده

We investigate the correctness of TimSort, which is the main sorting algorithm provided by the Java standard library. The goal is functional verification with mechanical proofs. During our verification attempt we discovered a bug which causes the implementation to crash. We characterize the conditions under which the bug occurs, and from this we derive a bug-free version that does not compromise the performance. We formally specify the new version and mechanically verify the absence of this bug with KeY, a state-of-the-art verification tool for Java.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Competition in Healthcare: Good, Bad or Ugly?

The role of competition in healthcare is much debated. Despite a wealth of international experience in relation to competition, evidence is mixed and contested and the debate about the potential role for competition is often polarised. This paper considers briefly some of the reasons for this, focusing on what is meant by “competition in healthcare” and why it is more valuable to think about th...

متن کامل

The worst-practice DEA model with slack-based measurement

An original data envelopment analysis (DEA) model is to evaluate each decision-making unit (DMU) with a set of most favorable weights of performance indices. The efficient DMUs obtained from the original DEA construct an efficient (bestpractice) frontier. The original DEA can be considered to identify good (efficient) performers in the most favorable scenario. For the purpose of identifying bad...

متن کامل

Average Performance Analysis

The purpose of measures in algorithm theory is to distinguish between “good” and “bad” algorithms. The main drawback of classical worst-case analysis is that one single “bad” instance decides the performance of an algorithm. Moreover, worst-case instances are often quite artificial and often do not represent a “realistic” or “typical” instance of a problem. In this thesis, we are concerned with...

متن کامل

چراییِ «به‌-زیستن» و «بد-زیستن» بوم‌های جغرافیایی (کشورهای جهان)

To analyze “well-being” and “bad-being” of geographical territories (countries of the world) Abstract: To be or not to be, this isn’t the question, “How-being”, is the question.  this is not unknown for people that what territories and the dwellers of territories do live in the world? but the [important] question is this: “how do those live?” why are many geographic territories thriving t...

متن کامل

Fuzzy Apriori Rule Extraction Using Multi-Objective Particle Swarm Optimization: The Case of Credit Scoring

There are many methods introduced to solve the credit scoring problem such as support vector machines, neural networks and rule based classifiers. Rule bases are more favourite in credit decision making because of their ability to explicitly distinguish between good and bad applicants.In this paper multi-objective particle swarm is applied to optimize fuzzy apriori rule base in credit scoring. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015